home *** CD-ROM | disk | FTP | other *** search
Text File | 1998-06-01 | 1.3 KB | 84 lines | [TEXT/CWIE] |
- #include "ToolboxEvent.h"
- #include "Toolbox.h"
-
- #include "MemUtils.h"
-
- ToolboxEvent::ToolboxEvent()
- {
- long* p = (long*) &type;
-
- if (qDebug && sizeof(ToolboxEvent) != (6 * sizeof(long)))
- {
- Debugger();
- }
-
- for (int i = 0; i < 6; i++)
- {
- p[i] = 0;
- }
-
- // BlockZero(&type, (Ptr)(&window + 1) - Ptr(&type));
- }
-
- ToolboxEvent::ToolboxEvent(const EventRecord& evt)
- {
- BlockMoveData(&evt, &what, sizeof(EventRecord));
-
- ParseEvent();
- }
-
- void ToolboxEvent::ParseEvent()
- {
- part = 0;
- window = nil;
- type = kEvtUnknown;
-
- switch (what)
- {
- case nullEvent:
- type = kEvtIdle;
- break;
-
- case mouseDown:
- case mouseUp:
- mouse_event: // mouseMoved branches back here
- type = kEvtMouse;
- part = Toolbox::FindWindow(where, window);
- break;
-
- case keyDown:
- case keyUp:
- case autoKey:
- type = kEvtKeyboard;
- break;
-
- case diskEvt:
- type = kEvtDisk;
- break;
-
- case updateEvt:
- type = kEvtUpdate;
- window = message.win;
- break;
-
- case activateEvt:
- type = modifiers.bits.activeFlag ? kEvtActivate : kEvtDectivate;
- window = message.win;
- break;
-
- case kHighLevelEvent:
- type = kEvtHighLevel;
- break;
-
- case osEvt:
- switch (message.os.message)
- {
- case mouseMovedMessage:
- goto mouse_event;
-
- case suspendResumeMessage:
- type = message.os.resumeFlag ? kEvtActivate : kEvtDectivate;
- }
- }
- }
-